package com.sunyur.tailor.channel.service.inner.purchase.service;

import com.sunyur.tailor.channel.common.middle.base.ChannelListResult;
import com.sunyur.tailor.channel.common.middle.base.ChannelResult;
import com.sunyur.tailor.channel.service.inner.purchase.model.*;
import com.sunyur.tailor.channel.service.inner.purchase.param.*;

import java.util.List;

/**
 *
 * @Author 99288
 * @Description 请购接口
 * @Param
 * @return
**/
public interface SunyurPurchaseApplyService {


    /**
     *  14-获取采购策略单详情接口
     */

    ChannelResult<StrategyOrderDetailModel> getStrategyOrderDetail(StrategyOrderDetailParam strategyOrderDetailParam);



    ChannelResult<StrategyOrderListModel> getStrategyOrderList(StrategyOrderListParam strategyOrderListParam) ;



    /**
     * @description 根据请购行号 查询 采购单行集合
     * @param purchaseApplyItemsByCodesParam
     * @return com.sunyur.tailor.channel.common.inner.base.SunyurResult<com.sunyur.tailor.channel.service.inner.purchase.vo.PurchaserApplyItemVO>
     * @author yu.chen
     * @date 2021/4/22 0:13
     * @Version v1.0
     */
    ChannelListResult<PurchaserApplyItemModel> getPurchaserApplyItemsByItemCodes(PurchaseApplyItemsByCodesParam purchaseApplyItemsByCodesParam) throws Exception;

    /**
     * @description 根据请购号 查询 采购单头信息
     * @param purchaseApplyHeadByCodeParam
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult<java.util.List<com.sunyur.tailor.channel.service.inner.purchase.vo.PurchaserApplyHeadVO>>
     * @author yu.chen
     * @date 2021/4/23 22:13
     * @Version v1.0
     */
    ChannelResult<PurchaserApplyHeadModel> getPurchaserApplyHeadByCode(PurchaseApplyHeadByCodeParam purchaseApplyHeadByCodeParam);

    /**
     * @description 根据请购号 查询 采购单行集合
     * @param purchaseApplyItemsByCodeParam
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelListResult<com.sunyur.tailor.channel.service.inner.purchase.model.PurchaserApplyItemModel>
     * @author yu.chen
     * @date 2021/4/28 21:44
     * @Version v1.0
     */
    ChannelListResult<PurchaserApplyItemModel> getPurchaserApplyItemsHeadByCode(PurchaseApplyItemsByCodeParam purchaseApplyItemsByCodeParam);


    /***
     * @Author pengbing
     * @Description //比价记录接口
     * @Date 10:28 2022/7/18
     * @Param [getListPriceParityModel]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult<List<ListPriceParityModel>>
     **/
    ChannelResult<List<ListPriceParityModel>> getListPriceParity(ListPriceParityParam getListPriceParityModel) throws Exception;


}
